/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package uimigration.UIModel;

import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
import uimigration.Interactions.GraphicalRendering;
import uimigration.uipositionning.Positionning;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Property</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link uimigration.UIModel.Property#getName <em>Name</em>}</li>
 *   <li>{@link uimigration.UIModel.Property#getValue <em>Value</em>}</li>
 *   <li>{@link uimigration.UIModel.Property#getValueType <em>Value Type</em>}</li>
 *   <li>{@link uimigration.UIModel.Property#getPositionning <em>Positionning</em>}</li>
 *   <li>{@link uimigration.UIModel.Property#getRenderingProprety <em>Rendering Proprety</em>}</li>
 * </ul>
 * </p>
 *
 * @see uimigration.UIModel.UIModelPackage#getProperty()
 * @model
 * @generated
 */
public interface Property extends EObject {
	/**
	 * Returns the value of the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Name</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Name</em>' attribute.
	 * @see #setName(String)
	 * @see uimigration.UIModel.UIModelPackage#getProperty_Name()
	 * @model
	 * @generated
	 */
	String getName();

	/**
	 * Sets the value of the '{@link uimigration.UIModel.Property#getName <em>Name</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Name</em>' attribute.
	 * @see #getName()
	 * @generated
	 */
	void setName(String value);

	/**
	 * Returns the value of the '<em><b>Value</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Value</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Value</em>' attribute.
	 * @see #setValue(String)
	 * @see uimigration.UIModel.UIModelPackage#getProperty_Value()
	 * @model
	 * @generated
	 */
	String getValue();

	/**
	 * Sets the value of the '{@link uimigration.UIModel.Property#getValue <em>Value</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Value</em>' attribute.
	 * @see #getValue()
	 * @generated
	 */
	void setValue(String value);

	/**
	 * Returns the value of the '<em><b>Value Type</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Value Type</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Value Type</em>' attribute.
	 * @see #setValueType(String)
	 * @see uimigration.UIModel.UIModelPackage#getProperty_ValueType()
	 * @model
	 * @generated
	 */
	String getValueType();

	/**
	 * Sets the value of the '{@link uimigration.UIModel.Property#getValueType <em>Value Type</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Value Type</em>' attribute.
	 * @see #getValueType()
	 * @generated
	 */
	void setValueType(String value);

	/**
	 * Returns the value of the '<em><b>Positionning</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Positionning</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Positionning</em>' reference.
	 * @see #setPositionning(Positionning)
	 * @see uimigration.UIModel.UIModelPackage#getProperty_Positionning()
	 * @model
	 * @generated
	 */
	Positionning getPositionning();

	/**
	 * Sets the value of the '{@link uimigration.UIModel.Property#getPositionning <em>Positionning</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Positionning</em>' reference.
	 * @see #getPositionning()
	 * @generated
	 */
	void setPositionning(Positionning value);

	/**
	 * Returns the value of the '<em><b>Rendering Proprety</b></em>' containment reference list.
	 * The list contents are of type {@link uimigration.Interactions.GraphicalRendering}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Rendering Proprety</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Rendering Proprety</em>' containment reference list.
	 * @see uimigration.UIModel.UIModelPackage#getProperty_RenderingProprety()
	 * @model containment="true"
	 * @generated
	 */
	EList<GraphicalRendering> getRenderingProprety();

} // Property
